package busterminalweb.action.busmodel;

import busterminal.entity.BusModel;
import busterminal.persistence.BusModelDAO;
import busterminal.services.ServiceLocator;
import busterminalweb.action.Action;
import busterminalweb.action.ActionResult;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Поиск модели автобуса по названию модели
 */
public class FindBusModelByModelNameAction implements Action {

    /**
     * Выполнить действие
     * @param request запрос
     * @param response ответ
     * @return страница, которой нужно передать управление
     */
    @Override
    public ActionResult execute(HttpServletRequest request, HttpServletResponse response) {
        if (request.getParameter("modelName") != null && !request.getParameter("modelName").isEmpty()) {
            BusModel busModel = ServiceLocator.getService(BusModelDAO.class).findByModelName(request.getParameter("modelName"));
            List<BusModel> busModelList = new ArrayList<BusModel>();
            busModelList.add(busModel);
            request.setAttribute("busModelList", busModelList);
        }
        
        return ActionResult.forward("busmodel/BusModelListView.jsp");
    }

    /**
     * Получить имя действия
     * @return имя действия
     */
    @Override
    public String getName() {
        return "bus.model.find.by.model.name";
    }
}
